
const db = wx.cloud.database();
let isClick = true;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    shopTypeList: [],//存放商品类型列表
    name: "",
    demo: "",
    contact: "",
    number: "",
    phone: "",
    picurl: "",
    _id: '',
    dialogName: '添加卖场',
    dialogFlag: 1,
    hideFlag: true,//true为隐藏   false为显示
    dis: false,//定义事件方法按钮是否可用
  },

  // 删除卖场
  delShopType: function (event) {
    var id = event.target.dataset.id;
    var _that = this

    // 判断这个商品类型中是否存在数据(商品类型Id)
    wx.cloud.callFunction({
      name: "findProductListByTypeId",
      data: {
        productTypeId: id,
      }, success: res => {
        console.log(res)
        if (res.result.data.length > 0) {
          // 代表里面有数据
          wx.showToast({
            title: '该类型中有数据，不可删除',
            icon: "none",
            duration:2000
          })
          return;
        } else {
          wx.showModal({
            title: '删除商品类型',
            content: '您确定要删除这个商品类型吗?',
            showCancel: true,
            cancelText: '取消',
            confirmText: '确定',
            confirmColor: '#17abe3',
            success: function (res) {
              if (res.confirm) {
                // 将执行删除卖场操作
                wx.cloud.callFunction({
                  name: 'delProductType',
                  data: {
                    id
                  },
                  success: res => {
                    wx.showToast({
                      title: '删除成功'
                    })
                    // 再次重新获取全部卖场数据
                    _that.getGoodsTypeList();
                  },
                  fail: err => {
                    wx.showToast({
                      title: '删除失败',
                      icon: 'none'
                    })
                  }
                })

              }
            }
          })
        }
      }, fail: err => {
        console.log(err)
      }
    })



  },
  // 获取所有商品类型
  getGoodsTypeList: function () {
    const _this = this;
    wx.cloud.callFunction({
      name: 'findAllProductType',
      success: function (data) {
        // console.log(data)
        _this.setData({
          shopTypeList: data.result.data
        })
        wx.hideLoading({
          success: (res) => {
            console.log("加载成功")
          },
        })
      },
      fail: function (err) {
        console.log(err)
        wx.hideLoading({
          success: (res) => {
            console.log("加载失败")
          },
        })
      }
    })
  },

  // 添加卖场
  addShopType: function () {
    // 显示模态框
    this.clearInput();
    this.setData({
      hideFlag: false,
      dialogFlag: 1,
      dialogName: "添加类型",
      dis: true
    })
  },


  // 获取用户输入的信息

  getName: function (e) {
    this.setData({
      name: e.detail.value
    })
  },

  // // 模糊搜索
  // handlerSearch:function(e){
  //   console.log("----------------------------")
  //   console.log("搜索",e)
  // },




  getNumber: function (e) {
    this.setData({
      number: e.detail.value
    })
  },
  getDemo: function (e) {
    this.setData({
      demo: e.detail.value
    })
  },

  // 清空文本框
  clearInput: function () {
    this.setData({
      'name': "",
      'number': "",
      'demo': "",
    })
  },

  // 单击确定之后
  acertain: function () {

    if (isClick) {
      isClick = false;
      setTimeout(function () {
        isClick = true;
      }, 1000);//一秒内不能重复点击
    } else {
      return;
    }

    // if(wx.showLoading){
    //   wx.showToast({
    //     title: 'loading',
    //     icon:'loading',
    //     mask:true
    //   })
    // };


    var dialogFlag = this.data.dialogFlag;
    console.log(dialogFlag)
    // 使用dialogFlag 判断这个对话框是修改的对话框还是添加卖场的对话框
    // 1  是添加卖场的对话框
    // 2  修改的对话框
    var _that = this
    if (this.data.name.length < 1) {
      wx.showToast({
        title: '商品名称不能为空',
        icon: 'none',
        mask: true
      })
      return false
    }
    if (this.data.number.length < 1) {
      wx.showToast({
        title: '商品编号不能为空',
        icon: 'none',
        mask: true
      })
      return false
    }


    var reg = /^[1][3,4,5,7,8,9][0-9]{9}$/;

    var name = this.data.name;
    var number = this.data.number;
    var demo = this.data.demo;
    var _id = this.data._id;
    // console.log(_id)



    // 先判断卖场信息是否存在
    db.collection("productType").where({
      name: name,
      number: number
    }).get({
      success: res => {
        if (res.data.lenght > 1) {
          return false
        }
        console.log(res)
        console.log("干嘛")
      }
    })
    this.setData({
      dis: true
    })


    // console.log(coll)
    // 添加数据到云数据库
    // 如果是1 添加卖场


    if (dialogFlag == 1) {
      _that.data.dis = false;
      _that.dis = false;
      _that.setData({
        dis: false
      })
      wx.cloud.callFunction({
        name: "addProductType",
        data: {
          newData: {
            name,
            number,
            demo
          }
        },
        success: (res) => {
          wx.showToast({
            title: '添加商品类型成功',
            icon: 'none',
            mask: true,
            success: function (res) { console.log("我是添加卖场时候的阻碍") },
            fail: function (res) { },
            complete: function (res) { },
          })
          _that.setData({
            hideFlag: true,
            dis: true
          })
          // 清空数据
          _that.clearInput();
          // 重新获取全部卖场列表
          _that.getGoodsTypeList();
        },
        fail: (err) => {
          wx.showToast({
            title: '添加商品类型失败',
            icon: 'none'
          })
        }
      })
      _that.setData({
        dis: false
      })
    } else if (dialogFlag == 2) {
      console.log(dialogFlag)
      console.log(_id)
      var name = _that.data.name;
      var number = _that.data.number;
      var demo = _that.data.demo;
      var _id = _that.data._id
      console.log("我是测试名字是否被修改:", name)
      console.log(_that.data._id)
      // 如果是2 就是修改
      wx.cloud.callFunction({
        name: "updateProductType",
        data: {
          newData: {
            id: _id,
            name,
            number,
            demo
          }
        },
        success: res => {
          console.log("我是输出信息", res)
          wx.showToast({
            title: '修改成功',
          })
          _that.setData({
            hideFlag: true
          })
          //  重新获取全部卖场列表
          _that.getGoodsTypeList();
          return false
        },
        fail: err => {
          wx.showToast({
            title: '修改失败',
            icon: 'none'

          })
        }
      })
    }


    this.setData({
      dis: false
    })
  },
  // 单击取消之后
  cancel: function () {
    this.setData({
      hideFlag: true
    })
  },
  // 单击添加图片
  // addImg: function () {
  //   var that = this
  //   wx.chooseImage({
  //     count: 1,
  //     sourceType: ['album', 'camera'],
  //     success: function (res) {
  //       var tempFilePaths = res.tempFilePaths;
  //       console.log(tempFilePaths[0])
  //       that.setData({
  //         picurl: tempFilePaths[0]
  //       })
  //     },
  //   })
  // },
  // 隐藏对话框
  hideModal: function () {
    this.setData({
      hideFlag: true
    })
  },

  // 修改卖场信息
  modifyShopType: function (event) {
    this.setData({
      dialogName: "修改商品类型",
      dialogFlag: 2,
      dis: true
    })
    var id = event.target.dataset.id;
    console.log(id)
    var _that = this
    // 根据id获取数据

    db.collection("productType").doc(id).get()
      .then(res => {
        console.log(res)
        _that.setData({
          _id: res.data._id,
          name: res.data.name,
          number: res.data.number,
          demo: res.data.demo
        })
      }).catch(err => {
        console.log(err)
      })
    _that.setData({
      hideFlag: false,
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    wx.showLoading({
      title: '加载中……',
    })
    this.getGoodsTypeList();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})